﻿Namespace Interfaces
    Public Interface SaveFormat
        Function ToType(ByVal RAW() As Byte) As Byte()
        Function ToRaw(ByVal Type() As Byte) As Byte()
        Property Filename As String
        Property ExtendedData As String
        Property IsOnline As Boolean
        ReadOnly Property FileExtension As String
        ''' <summary>
        ''' Array of all valid sizes for this format.  Have it empty if size does not matter at all; default should be the first item
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        ReadOnly Property FileSize As Long()
        ReadOnly Property Name As String
        ReadOnly Property CanBeSource As Boolean
        ReadOnly Property CanBeTarget As Boolean
        Function ToString() As String
    End Interface
    Public Interface SaveFormatCollection
        ReadOnly Property SaveFormats As Generic.List(Of SaveFormat)
    End Interface
End Namespace